/********************************Copyright (c)**********************************\
**
**                   (c) Copyright 2019, Main, China, QD.
**                           All Rights Reserved
**
**                                By(wo4fisher)
**                           http://www.wo4fisher.com
**
**----------------------------------文件信息------------------------------------
** 文件名称: ADXL345.h
** 创建人员: wht
** 创建日期: 2019-06-12
** 文档描述:
**
**----------------------------------版本信息------------------------------------
** 版本代号: V0.1
** 版本说明: 初始版本
** 使用说明: 使用时电源脚3-5V，再接数据和始终即可使用。
**------------------------------------------------------------------------------
\********************************End of Head************************************/

#ifndef __A_D_X_L345_H_
#define __A_D_X_L345_H_

#include "common.h"
#include "STC8Axx.h"

sbit ADXL345_SCL = P7 ^ 0;  //IIC时钟引脚定义
sbit ADXL345_SDA = P7 ^ 1;  //IIC数据引脚定义

#define XAXIS   0
#define YAXIS   1
#define ZAXIS   2

//定义器件在IIC总线中的从地址,根据ALT  ADDRESS地址引脚不同修改
//ALT  ADDRESS引脚接地时地址为0xA6，接电源时地址0x3A
#define SLAVEADDR   0xA6
void  ADXL345_SendAck ( bit ack );

void   init_ADXL345 ( void ); //初始化ADXL345
void   single_write_ADXL345 ( uint8 RegAddr, uint8 RegData ); //单个写入数据
uint8  single_read_ADXL345 ( uint8 Reg_Addr ); //单个读取内部寄存器
void   multiple_read_ADXL345 ( void );  //连续的读取内部寄存器

int16   get_Data_i ( uint8 axis );
float  get_Data_f ( uint8 axis );
void get_angle_xy(float * ang_x, float * ang_y);
#endif


/********************************End of File************************************/